﻿using ClassLibraryLab3;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Lab5_2_
{
    public partial class Form2 : Form 
    {

        Creator[] creators = new Creator[10];

        public Form2()
        {
            InitializeComponent();
            comboBox2.Items.Add("Cargos");
            comboBox2.Items.Add("Agricultures");
            comboBox2.Items.Add("LightAircrafts");
            comboBox2.Items.Add("Screws");
            comboBox2.Items.Add("Transcontinentals");
            comboBox2.Items.Add("Personals");
        }

        public void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {

            int z = 10;
            String[] strin0 = new string[z];
            int it0 = 0;

            try
            {

                strin0[it0] = ("Название самолета: \r\n\r\n" +
                    "Количество двигателей: \r\n\r\n" +
                    "Количество человек: \r\n\r\n" +
                    "Маневренность: \r\n\r\n" +
                    "Мощь: \r\n\r\n" +
                    "Степень защиты: \r\n\r\n");

                if (comboBox2.SelectedIndex == -1)
                {
                    textBox1.Text = string.Empty;

                }
                else if (comboBox2.SelectedItem == "Cargos")
                {
                    textBox1.Text = String.Join(Environment.NewLine, strin0);


                }
            }
            catch (Exception ex)
            {

                FileLogger FileLogger = new FileLogger();
                FileLogger.Log(ex.ToString());

                ConsoleLoger ConsoleLoger = new ConsoleLoger();
                ConsoleLoger.Log(ex.ToString());

                MessageBox.Show(ex.Message);
            }

            String[] strin1 = new string[z];
            int it1 = 0;

            try
            {
                strin1[it1] = ("Название самолета: \r\n\r\n" +
                    "Количество двигателей: \r\n\r\n" +
                    "Количество человек: \r\n\r\n" +
                    "Маневренность: \r\n\r\n" +
                    "Мощь: \r\n\r\n" +
                    "Стоимость: \r\n\r\n");

                if (comboBox2.SelectedIndex == -1)
                {
                    textBox1.Text = string.Empty;

                }
                else if (comboBox2.SelectedItem == "Agricultures")
                {
                    textBox1.Text = String.Join(Environment.NewLine, strin1);

                }
            }
            catch (Exception ex)
            {

                FileLogger FileLogger = new FileLogger();
                FileLogger.Log(ex.ToString());

                ConsoleLoger ConsoleLoger = new ConsoleLoger();
                ConsoleLoger.Log(ex.ToString());

                MessageBox.Show(ex.Message);
            }

            String[] strin2 = new string[z];
            int it2 = 0;

            try
            {

                strin2[it2] = ("Название самолета: \r\n\r\n" +
                    "Количество двигателей: \r\n\r\n" +
                    "Количество человек: \r\n\r\n" +
                    "Маневренность: \r\n\r\n" +
                    "Мощь: \r\n\r\n" +
                    "Вес: \r\n\r\n" +
                    "Скорость: \r\n\r\n");

                if (comboBox2.SelectedIndex == -1)
                {
                    textBox1.Text = string.Empty;

                }
                else if (comboBox2.SelectedItem == "LightAircrafts")
                {
                    textBox1.Text = String.Join(Environment.NewLine, strin2);

                }
            }
            catch (Exception ex)
            {

                FileLogger FileLogger = new FileLogger();
                FileLogger.Log(ex.ToString());

                ConsoleLoger ConsoleLoger = new ConsoleLoger();
                ConsoleLoger.Log(ex.ToString());

                MessageBox.Show(ex.Message);
            }

            String[] strin3 = new string[z];
            int it3 = 0;

            try
            {

                strin3[it3] = ("Название самолета: \r\n\r\n" +
                    "Количество двигателей: \r\n\r\n" +
                    "Количество человек: \r\n\r\n" +
                    "Вместимость: \r\n\r\n" +
                    "Скорость: \r\n\r\n");

                if (comboBox2.SelectedIndex == -1)
                {
                    textBox1.Text = string.Empty;

                }
                else if (comboBox2.SelectedItem == "Screws")
                {
                    textBox1.Text = String.Join(Environment.NewLine, strin3);

                }
            }
            catch (Exception ex)
            {

                FileLogger FileLogger = new FileLogger();
                FileLogger.Log(ex.ToString());

                ConsoleLoger ConsoleLoger = new ConsoleLoger();
                ConsoleLoger.Log(ex.ToString());

                MessageBox.Show(ex.Message);
            }

            String[] strin4 = new string[z];
            int it4 = 0;

            try
            {

                strin4[it4] = ("Название самолета: \r\n\r\n" +
                   "Количество двигателей: \r\n\r\n" +
                   "Количество человек: \r\n\r\n" +
                   "Вместимость: \r\n\r\n" +
                   "Дальность полета: \r\n\r\n");

                if (comboBox2.SelectedIndex == -1)
                {
                    textBox1.Text = string.Empty;

                }
                else if (comboBox2.SelectedItem == "Transcontinentals")
                {
                    textBox1.Text = String.Join(Environment.NewLine, strin4);

                }
            }
            catch (Exception ex)
            {

                FileLogger FileLogger = new FileLogger();
                FileLogger.Log(ex.ToString());

                ConsoleLoger ConsoleLoger = new ConsoleLoger();
                ConsoleLoger.Log(ex.ToString());

                MessageBox.Show(ex.Message);
            }

            String[] strin5 = new string[z];
            int it5 = 0;

            try
            {

                strin5[it5] = ("Название самолета: \r\n\r\n" +
                              "Количество двигателей: \r\n\r\n" +
                              "Количество человек: \r\n\r\n" +
                              "Степень удобства: \r\n\r\n");

                if (comboBox2.SelectedIndex == -1)
                {
                    textBox1.Text = string.Empty;
                }
                else if (comboBox2.SelectedItem == "Personals")
                {
                    textBox1.Text = String.Join(Environment.NewLine, strin5);
                }
            }
            catch (Exception ex)
            {

                FileLogger FileLogger = new FileLogger();
                FileLogger.Log(ex.ToString());

                ConsoleLoger ConsoleLoger = new ConsoleLoger();
                ConsoleLoger.Log(ex.ToString());

                MessageBox.Show(ex.Message);
            }
        }
                                
        public void button1_Click(object sender, EventArgs e)
        {

            Form1 Form1 = new Form1();
            
            
            try
            {
                if (Decimal.Parse(textBox3.Text) < 0
                    || Decimal.Parse(textBox4.Text) < 0)
                {
                    MessageBox.Show("Вы ввели некорректное значение");
                }
                else
                {
                    MessageBox.Show(textBox2.Text + " " + textBox3.Text + " " +
            textBox4.Text + " " + textBox5.Text + " " + textBox6.Text + " " + textBox7.Text + " " + textBox8.Text + " " + textBox9.Text);
                }
            }
            catch (Exception ex)
            {

                FileLogger FileLogger = new FileLogger();
                FileLogger.Log(ex.ToString());

                ConsoleLoger ConsoleLoger = new ConsoleLoger();
                ConsoleLoger.Log(ex.ToString());

                MessageBox.Show(ex.Message);
            }

            

            string name = textBox2.Text;
            foreach (Creator cr in Form1.creators)
            {
                if (cr is CreatorService)
                {

                    Form1.productList1.Add(cr.FactoryMethod3("Ан-fg124", 4, 8, "Низкgfая", "Высоfgкая", "Высокая")); 
                }

            }
       
        }

        public void Form2_Load(object sender, EventArgs e)
        {

        }

        public void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        public void textBox7_TextChanged(object sender, EventArgs e)
        {

        }

        public void textBox2_TextChanged(object sender, EventArgs e)
        {
            button1.Enabled = true;
        }

        private void Close_Click(object sender, EventArgs e)
        {
            Close();
            
            GC.Collect();
        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {
            button1.Enabled = true;
        }

        private void textBox4_TextChanged(object sender, EventArgs e)
        {
            button1.Enabled = true;
        }

        private void textBox5_TextChanged(object sender, EventArgs e)
        {
            button1.Enabled = true;
        }

        private void textBox6_TextChanged(object sender, EventArgs e)
        {
            button1.Enabled = true;
        }

        public void AddPlane_Click(object sender, EventArgs e)
        {

        }

    }
}
